Handheld global positioning system device

ABSTRACT

A handheld GNSS device for determining position data for a point of interest is provided. The device includes a housing, handgrips integral to the housing for enabling a user to hold the device, and a display screen integral with the housing for displaying image data and orientation data to assist a user in positioning the device. The device further includes a GNSS antenna and at least one communication antenna, both integral with the housing. The GNSS antenna receives position data from a plurality of satellites. One or more communication antennas receive positioning assistance data related to the position data from a base station. The GNSS antenna has a first antenna pattern, and the at least one communication antenna has a second antenna pattern. The GNSS antenna and the communication antenna(s) are configured such that the first and second antenna patterns are substantially separated. Coupled to the GNSS antenna, within the housing, is at least one receiver. Further, the device includes, within the housing, orientation circuitry for generating orientation data of the housing based upon a position of the housing related to the horizon, imaging circuitry for obtaining image data concerning the point of interest for display on the display screen, and positioning circuitry, coupled to the at least one receiver, the imaging circuitry, and the orientation circuitry, for determining a position for the point of interest based on at least the position data, the positioning assistance data, the orientation data, and the image data.

FIELD OF THE INVENTION

The present invention relates to a portable Global Navigation SatelliteSystem (GNSS), including Global Positioning System (GPS), GLONASS,Galileo, and other satellite navigation and positioning systems.

BACKGROUND OF THE INVENTION

Today, the number of applications utilizing GNSS information is rapidlyincreasing. For example, GNSS information is a valuable tool forgeodesists. Geodesists commonly use GNSS devices to determine thelocation of a point of interest anywhere on, or in the vicinity of, theEarth. Often, these points of interest are located at remotedestinations which are difficult to access. Thus, compact, easy-to-carrypositioning devices are desired.

GNSS receivers work by receiving data from GNSS satellites. To achievemillimeter and centimeter level accuracy, at least two GNSS receiversare needed. One receiver is positioned at a site where the position isknown. A second receiver is positioned at a site whose position needs tobe determined. The measurement from the first receiver is used tocorrect GNSS system errors at the second receiver. In post-processedmode, the data from both receivers can be stored and then transferred toa computer for processing. Alternatively, the corrections from the firstreceiver, the known receiver, may be transmitted in real time (via radiomodems, Global System for Mobile Communications (GSM), etc.) to theunknown receiver, and the accurate position of the unknown receiverdetermined in real time.

A GNSS receiver typically includes a GNSS antenna, a signal processingsection, a display and control section, a data communications section(for real-time processing), a battery, and a charger. Some degree ofintegration of these sections is usually desired for a handheld portableunit.

Another challenge of portable GNSS units is precisely positioning a GNSSantenna on the point of interest for location measurement. Previously,bulky equipment such as a separate tripod or other external hardware wasused to “level” the antenna. In other systems, light low-precisionantennas were used. Such devices are bulky and difficult to carry. Thus,even as portable GNSS positioning devices become more compact, theysuffer from the drawback of requiring additional bulky positioningequipment.

Thus, for high-precision applications, the use of multiple units tohouse the various components required for prior GNSS systems, and therequirement for cables and connectors to couple the units, createsproblems regarding portability, reliability, and durability. Inaddition, the systems are expensive to manufacture and assemble.

Therefore, a high precision, portable, complete handheld GNSS devicethat overcomes these disadvantages of conventional devices is desired.

BRIEF SUMMARY OF THE DISCLOSURE

Embodiments of the present disclosure are directed to a handheld GNSSdevice for determining position data for a point of interest. The deviceincludes a housing, handgrips integral to the housing for enabling auser to hold the device, and a display screen integral with the housingfor displaying image data and orientation data to assist a user inpositioning the device. The device further includes a GNSS antenna andat least one communication antenna, both integral with the housing. TheGNSS antenna receives position data from a plurality of satellites. Oneor more communication antennas receive positioning assistance datarelated to the position data from a base station. The GNSS antenna has afirst antenna pattern, and the at least one communication antenna has asecond antenna pattern. The GNSS antenna and the communicationantenna(s) are configured such that the first and second antennapatterns are substantially separated.

Coupled to the GNSS antenna, within the housing, is at least onereceiver. Further, the device includes, within the housing, orientationcircuitry for generating orientation data of the housing based upon aposition of the housing related to the horizon, imaging circuitry forobtaining image data concerning the point of interest for display on thedisplay screen, and positioning circuitry, coupled to the at least onereceiver, the imaging circuitry, and the orientation circuitry, fordetermining a position for the point of interest based on at least theposition data, the positioning assistance data, the orientation data,and the image data.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a perspective view of a handheld GNSS deviceaccording to embodiments of the invention;

FIG. 2 illustrates another perspective view of a handheld GNSS deviceaccording to embodiments of the invention;

FIG. 3 illustrates a back view of a handheld GNSS device including adisplay screen for a user according to embodiments of the invention;

FIG. 4 illustrates a bottom view of a handheld GNSS device according toembodiments of the invention;

FIG. 5 illustrates a top view of a handheld GNSS device according toembodiments of the invention;

FIG. 6 illustrates a side view of a handheld GNSS device includinghandgrips for a user according to embodiments of the invention;

FIG. 7 illustrates a front view of a handheld GNSS device including aviewfinder for a camera according to embodiments of the invention;

FIG. 8 illustrates an exploded view of a handheld GNSS device includinga viewfinder for a camera according to embodiments of the invention;

FIG. 9A illustrates an exemplary view of the display screen of ahandheld GNSS device including elements used for positioning the device;

FIG. 9B illustrates another exemplary view of the display screen of aGNSS handheld device oriented horizontally and above a point ofinterest;

FIG. 10 illustrates a flowchart of a method for measuring position usinga handheld GNSS device according to embodiments of the invention;

FIG. 11 illustrates a logic diagram showing the relationships betweenthe various components of a handheld GNSS device according toembodiments of the invention; and

FIG. 12 illustrates a typical computing system that may be employed toimplement some or all of the processing functionality in certainembodiments.

In the following description, reference is made to the accompanyingdrawings which form a part thereof, and which illustrate severalembodiments of the present invention. It is understood that otherembodiments may be utilized and structural and operational changes maybe made without departing from the scope of the present invention. Theuse of the same reference symbols in different drawings indicatessimilar or identical items.

DETAILED DESCRIPTION OF THE INVENTION

The following description is presented to enable a person of ordinaryskill in the art to make and use the various embodiments. Descriptionsof specific devices, techniques, and applications are provided only asexamples. Various modifications to the examples described herein will bereadily apparent to those of ordinary skill in the art, and the generalprinciples defined herein may be applied to other examples andapplications without departing from the spirit and scope of theinvention as claimed. Thus, the various embodiments are not intended tobe limited to the examples described herein and shown, but are to beaccorded the scope consistent with the claims.

Embodiments of the invention relate to mounting a GNSS antenna andcommunication antennas in a single housing. The communication antennasare for receiving differential correction data from a fixed or mobilebase transceiver, as described in U.S. patent application Ser. No.12/360,808, assigned to the assignee of the present invention, andincorporated herein by reference in its entirety for all purposes.Differential correction data may include, for example, the differencebetween measured satellite pseudo-ranges and actual pseudo-ranges. Thiscorrection data received from a base station may help to eliminateerrors in the GNSS data received from the satellites. Alternatively, orin addition, the communication antenna may receive raw range data from amoving base transceiver. Raw positioning data received by thecommunication antenna may be, for example, coordinates of the base andother raw data, such as the carrier phase of a satellite signal receivedat the base transceiver and the pseudo-range of the satellite to thebase transceiver.

Additionally, a second navigation antenna may be connected to thehandheld GNSS device to function as the primary navigation antenna ifthe conditions and/or orientation do not allow the first GNSS antenna toreceive a strong GNSS signal.

The communication antenna is configured such that its antenna pattern issubstantially separated from the antenna pattern of the GNSS antennasuch that there is minimal or nearly minimal mutual interference betweenthe antennas. As used herein, “substantial” separation may be achievedby positioning the communication antenna below the main ground plane ofthe GNSS antenna, as shown in FIG. 1. According to embodiments of theinvention, a substantial separation attenuates interference between thecommunication antenna and the GNSS antenna by as much as 40 dB.Furthermore, the communication antenna and the GNSS antenna arepositioned such that the body of the user holding the GNSS device doesnot substantially interfere with the GNSS signal.

Moreover, as mentioned above, to properly measure the position of agiven point using a GNSS-based device, the GNSS antenna must beprecisely positioned so that the position of the point of interest maybe accurately determined. To position a GNSS device in such a manner,external hardware, such as a tripod, is commonly used. Such hardware isbulky and difficult to carry. Thus, according to embodiments of theinvention, compact positioning tools, included in the single unithousing, are useful for a portable handheld GNSS device.

As such, various embodiments are described below relating to a handheldGNSS device. The handheld GNSS device may include various sensors, suchas a camera, distance sensor, and horizon sensors. A display element mayalso be included for assisting a user to position the device without theaid of external positioning equipment (e.g., a tripod or pole).

FIG. 1 illustrates an exemplary handheld GNSS device 100. Handheld GNSSdevice 100 utilizes a single housing 102. Several GNSS elements areintegral to the housing 102 in that they are within the housing orsecurely mounted thereto. A securely mounted element may be removable.Housing 102 allows the user to hold the handheld GNSS device 100 similarto the way one would hold a typical camera. In one example, the housing102 may include GNSS antenna cover 104 to cover a GNSS antenna 802(shown in FIG. 8) which may receive signals transmitted by a pluralityof GNSS satellites and used by handheld GNSS device 100 to determineposition. The GNSS antenna 802 is integral with the housing 102 in thatit resides in the housing 102 under the GNSS antenna cover 104.

In one example, GNSS antenna 802 may receive signals transmitted by atleast four GNSS satellites. In the example shown by FIG. 1, GNSS antennacover 104 is located on the top side of handheld GNSS device 100. Anexemplary top side view of the handheld GNSS device 100 is illustratedin FIG. 5.

Handheld GNSS device 100 further includes covers for communicationantennas 106 integral with the housing 102. In embodiments of theinvention there may be three such communication antennas, including GSM,UHF, and WiFi/Bluetooth antennas enclosed beneath covers for thecommunication antennas 106.

An exemplary exploded view of handheld GNSS device 100 is shown in FIG.8. Communication antennas 806 are positioned beneath the covers 106. TheGSM and UHF antennas may be only one-way communication antennas. Inother words, the GSM and UHF antenna may only be used to receivesignals, but not transmit signals. The WiFi antenna may allow two-waycommunication. The communication antennas 806 receive positioningassistance data, such as differential correction data or raw positioningdata from base transceivers.

In the example shown in FIG. 1, the GNSS antenna cover 104 is located onthe top of the housing 102. In the same example of FIG. 1, thecommunication antenna covers 106 are located on the front of the housing102.

Handheld GNSS device 100 may further include at least one handgrip 108.In the example shown in FIG. 1, two handgrips 108 are integral to thehousing 102. The handgrips 108 may be covered with a rubber material forcomfort and to reduce slippage of a user's hands.

The GNSS antenna cover 104, the communication antenna covers 106 and thehandgrips 108 are shown from another view in the exemplary front viewillustrated in FIG. 7. A front camera lens 110 is located on the frontside of the handheld GNSS device 100. A second bottom camera lens 116may be located on the bottom side of the handheld GNSS device 100 in theexample shown in FIG. 4. The camera included may be a still or videocamera.

The handgrips 108, in certain embodiments, may also be positioned to benear to the communication antenna covers 106. Handgrips 108 are shown ina position, as in FIG. 6, that, when a user is gripping the handgrips108, the user minimally interferes with the antenna patterns of GNSSantenna 802 and communication antennas 806. For example, the user'shands do not cause more than −40 dB of interference while gripping thehandgrips 108 in this configuration, e.g., with the handgrips 108 behindand off to the side of the communication antenna covers 106.

As shown in FIG. 2 and FIG. 3, handheld GNSS device 100 may furtherinclude display 112 for displaying information to assist the user inpositioning the device. Display 112 may be any electronic display suchas a liquid crystal (LCD) display, light emitting diode (LED) display,and the like. Such display devices are well-known by those of ordinaryskill in the art and any such device may be used. In the example shownby FIG. 2, display 112 is integral with the back side of the housing 102of handheld GNSS device 100.

Handheld GNSS device 100 may further include a camera for recordingstill images or video. Such recording devices are well-known by those ofordinary skill in the art and any such device may be used. In theexample illustrated in FIG. 1, front camera lens 110 is located on thefront side of handheld GNSS device 100. A more detailed description ofthe positioning of front camera lens 110 is provided in U.S. patentapplication Ser. No. 12/571,244, filed Sep. 30, 2009, which isincorporated herein by reference in its entirety for all purposes. Inone example, display 112 may be used to display the output of frontcamera lens 110.

With reference to FIG. 4, handheld GNSS device 100 may also include asecond bottom camera lens 116 on the bottom of handheld GNSS device 100for viewing and alignment of the handheld GNSS device 100 with a pointof interest marker. The image of the point of interest marker may alsobe recorded along with the GNSS data to ensure that the GNSS receiver808 was mounted correctly, or compensate for misalignment later based onthe recorded camera information.

Handheld GNSS device 100 may further include horizon sensors (not shown)for determining the orientation of the device. The horizon sensors maybe any type of horizon sensor, such as an inclinometer, accelerometer,and the like. Such horizon sensors are well-known by those of ordinaryskill in the art and any such device may be used. In one example, arepresentation of the output of the horizon sensors may be displayedusing display 112. A more detailed description of display 112 isprovided below. The horizon sensor information can be recorded alongwith GNSS data to later compensate for mis-leveling of the antenna.

Handheld GNSS device 100 may further include a distance sensor (notshown) to measure a linear distance. The distance sensor may use anyrange-finding technology, such as sonar, laser, radar, and the like.Such distance sensors are well-known by those of ordinary skill in theart and any such device may be used.

FIG. 4 illustrates a bottom view of the handheld GNSS device 100according to embodiments of the invention. The handheld GNSS device 100may be mounted on a tripod, or some other support structure, by amounting structure such as three threaded bushes 114, in someembodiments of the invention.

FIG. 8 illustrates an exploded view of the handheld GNSS device 100.When assembled, GNSS antenna 802 is covered by the GNSS antenna cover104, and the communication antennas 806 are covered by the communicationantenna covers 106.

FIG. 9A illustrates an exemplary view 900 of display 112 for positioninghandheld GNSS device 100. In one example, display 112 may display theoutput of camera. In this example, the display of the output of cameralens 116 or 110 includes point of interest marker 902. As shown in FIG.9A, point of interest marker 902 is a small circular object identifyinga particular location on the ground. In the examples provided herein, weassume that the location to be measured is located on the ground, andthat the point of interest is identifiable by a visible marker (e.g.,point of interest marker 902). The marker may be any object having asmall height value. For instance, an “X” painted on the ground or acircular piece of colored paper placed on the point of interest mayserve as point of interest marker 902.

In another example, display 112 may further include virtual linearbubble levels 904 and 906 corresponding to the roll and pitch ofhandheld GNSS device 100, respectively. Virtual linear bubble levels 904and 906 may include virtual bubbles 908 and 910, which identify theamount and direction of roll and pitch of handheld GNSS device 100.Virtual linear bubble levels 904 and 906 and virtual bubbles 908 and 910may be generated by a CPU 1108 and overlaid on the actual image outputof the camera. In one example, positioning of virtual bubbles 908 and910 in the middle of virtual linear bubble levels 904 and 906 indicatethat the device is positioned “horizontally.” As used herein,“horizontally” refers to the orientation whereby the antenna groundplane is parallel to the local horizon.

In one example, data from horizon sensors may be used to generate thelinear bubble levels 904 and 906. For instance, sensor data from horizonsensors may be sent to CPU 1108 which may convert a scaled sensormeasurement into a bubble coordinate within virtual linear bubble levels904 and 906. CPU 1108 may then cause the display on display 112 ofvirtual bubbles 908 and 910 appropriately placed within virtual linearbubble levels 904 and 906. Thus, virtual linear bubble levels 904 and906 may act like traditional bubble levels, with virtual bubbles 908 and910 moving in response to tilting and rolling of handheld GNSS device100. For example, if handheld GNSS device 100 is tilted forward, virtualbubble 908 may move downwards within virtual linear bubble level 906.Additionally, if handheld GNSS device 100 is rolled to the left, virtualbubble 908 may move to the right within virtual linear bubble level 904.However, since virtual linear bubble levels 904 and 906 are generated byCPU 1108, movement of virtual bubbles 908 and 910 may be programmed tomove in any direction in response to movement of handheld GNSS device100.

In another example, display 112 may further include planar bubble level912. Planar bubble level 912 represents a combination of virtual linearbubble levels 904 and 906 (e.g., placed at the intersection of thevirtual bubbles 908 and 910 within the linear levels 904 and 906) andmay be generated by combining measurements of two orthogonal horizonsensors (not shown). For instance, scaled measurements of horizonsensors may be converted by CPU 1108 into X and Y coordinates on display112. In one example, measurements from one horizon sensor may be used togenerate the X coordinate and measurements from a second horizon sensormay be used to generate the Y coordinate of planar bubble level 912.

As shown in FIG. 9A, display 112 may further include central crosshair914. In one example, central crosshair 914 may be placed in the centerof display 112. In another example, the location of central crosshair914 may represent the point in display 112 corresponding to the view offront camera lens 110 along optical axis 242. In yet another example,placement of planar bubble level 912 within central crosshair 914 maycorrespond to handheld GNSS device 100 being positioned horizontally.Central crosshair 914 may be drawn on the screen of display 112 or maybe electronically displayed to display 112.

Display 112 may be used to aid the user in positioning handheld GNSSdevice 100 over a point of interest by providing feedback regarding theplacement and orientation of the device. For instance, the camera outputportion of display 112 provides information to the user regarding theplacement of handheld GNSS device 100 with respect to objects on theground. Additionally, virtual linear bubble levels 904 and 906 provideinformation to the user regarding the orientation of handheld GNSSdevice 100 with respect to the horizon. Using at least one of the twotypes of output displayed on display 112, the user may properly positionhandheld GNSS device 100 without the use of external positioningequipment.

In the example illustrated by FIG. 9A, both point of interest marker 902and planar bubble level 912 are shown as off-center from centralcrosshair 914. This indicates that optical axis 242 of camera lens 110or 116 is not pointed directly at the point of interest and that thedevice is not positioned horizontally. If the user wishes to positionthe device horizontally above a particular point on the ground, the usermust center both planar bubble level 912 and point of interest marker902 within central crosshair 914 as shown in FIG. 9B.

FIG. 9B illustrates another exemplary view 920 of display 112. In thisexample, virtual linear bubble levels 904 and 906 are shown with theirrespective virtual bubbles 908 and 910 centered, indicating that thedevice is horizontal. As such, planar bubble level 912 is also centeredwithin central crosshair 914. Additionally, in this example, point ofinterest marker 902 is shown as centered within central crosshair 914.This indicates that optical axis 242 of front camera lens 110 ispointing towards point of interest marker 902. Thus, in the exampleshown by FIG. 9B, handheld GNSS device 100 is positioned horizontallyabove point of interest marker 902.

The bottom camera lens 116 or front camera lens 110 can be used torecord images of a marker of a known configuration, a point of interest,placed on the ground. In one application, pixels and linear dimensionsof the image are analyzed to estimate a distance to the point ofinterest. Using a magnetic compass or a MEMS gyro in combination withtwo horizon angles allows the three dimensional orientation of the GNSShandheld device 100 to be determined. Then, the position of the point ofinterest may be calculated based upon the position of the GNSS antenna802 through trigonometry. In one embodiment, a second navigation antennais coupled to the housing 102 of the GNSS handheld device 100 via anexternal jack 804 (FIG. 8). The second navigation antenna can be usedinstead of magnetic compass to complete estimation of fullthree-dimensional attitude along with two dimensional horizon sensors.

Estimation of a distance to a point of interest can be estimated asdescribed in U.S. patent application Ser. No. 12/571,244, which isincorporated herein by reference for all purposes. The bottom cameralens 116 may also be used. The measurement is reduced to the calculationof the intersection of at least three cones using equations and methodsdescribed in Appendices A, B, and C to this application.

If the optical axis of the camera is not pointing directly at the pointof interest, the misalignment with the survey mark can be recorded andcompensated by analyzing the recorded image bitmaps.

FIG. 10 illustrates an exemplary process 1000 for determining theposition of a point of interest using a handheld GNSS device 100according to embodiments of the invention. With reference to FIG. 1, auser will position the handheld GNSS device 100 such that an imagesensor, such as front camera lens 110, obtains image data of the pointof interest at 1002. Orientation data is received from an orientationsensor of the handheld GNSS device at 1004. The image data and theorientation data are displayed on the display 112, such that the usermay position the handheld GNSS device 100 to accurately determine theposition of the point of interest at 1006. The user may position thehandheld GNSS device 100 as in the example shown in FIGS. 9A and 9B.

When the handheld GNSS device 100 is positioned to accurately determinethe position of the point of interest, position data may be received bythe GNSS antenna 802 at 1008. Positioning assistance data is alsoreceived at 1010 by at least one communication antenna 806.

The antenna height of the GNSS antenna 802 is a factor in determiningthe position data of a point of interest marker. The point of interestmarker position determination takes into account the antenna height inorder to determine a more accurate position of the point of interest.The optical axis of the bottom camera lens 116 goes through GNSSantenna. After the bottom camera lens 116 records image data of thepoint of interest marker, at 1012, the antenna height is estimated basedon analyzing the image data. For example, by analyzing the size of thepoint of interest marker in the image, a height of the GNSS antenna 802can be estimated.

Further, a misalignment of the handheld GNSS device 100 may add to anerror in position determination of the point of interest marker. Theuser using the handheld GNSS device 100 may not have aligned thehandheld GNSS device 100 with the point of interest marker exactly,which could affect the accuracy of the position determination of thepoint of interest. As such, at 1014, an alignment error associated withthe handheld GNSS device 100 in relation to the point of interest isdetermined.

Then, at 1016, the position data associated with the point of interestis determined using at least the image data, the orientation data, theposition data, the position assistance data, the antenna heightestimation, and the alignment error.

FIG. 11 illustrates an exemplary logic diagram showing the relationshipsbetween the various components of handheld GNSS device 100. In oneexample, GNSS antenna 802 may send position data received from GNSSsatellites to receiver 808. Receiver 808 may convert the received GNSSsatellite signals into Earth-based coordinates, such as WGS84, ECEF,ENU, and the like. GNSS receiver 808 may further send the coordinates toCPU 1108 for processing along with position assistance data receivedfrom communication antennas 806. Communication antennas 806 areconnected to a communication board 810. Orientation data 1112 may alsobe sent to CPU 1108. Orientation data 1112 may include pitch data frompitch horizon sensors and roll data from roll horizon sensors, forexample. Image data 1110 from video or still camera may also be sentalong to the CPU 1108 with the position data received by the GNSSantenna 802, positioning assistance data received by communicationantenna 106, and orientation data 1112. Distance data from a distancesensor may also be used by CPU 1108. CPU 1108 processes the data todetermine the position of the point of interest marker and providesdisplay data to be displayed on display 112.

FIG. 12 illustrates an exemplary computing system 1200 that may beemployed to implement processing functionality for various aspects ofthe current technology (e.g., as a GNSS device, receiver, CPU 1108,activity data logic/database, combinations thereof, and the like.).Those skilled in the relevant art will also recognize how to implementthe current technology using other computer systems or architectures.Computing system 1200 may represent, for example, a user device such asa desktop, mobile phone, geodesic device, and so on as may be desirableor appropriate for a given application or environment. Computing system1200 can include one or more processors, such as a processor 1204.Processor 1204 can be implemented using a general or special purposeprocessing engine such as, for example, a microprocessor,microcontroller or other control logic. In this example, processor 1204is connected to a bus 1202 or other communication medium.

Computing system 1200 can also include a main memory 1208, such asrandom access memory (RAM) or other dynamic memory, for storinginformation and instructions to be executed by processor 1204. Mainmemory 1208 also may be used for storing temporary variables or otherintermediate information during execution of instructions to be executedby processor 1204. Computing system 1200 may likewise include a readonly memory (“ROM”) or other static storage device coupled to bus 1202for storing static information and instructions for processor 1204.

The computing system 1200 may also include information storage mechanism1210, which may include, for example, a media drive 1212 and a removablestorage interface 1220. The media drive 1212 may include a drive orother mechanism to support fixed or removable storage media, such as ahard disk drive, a floppy disk drive, a magnetic tape drive, an opticaldisk drive, a CD or DVD drive (R or RW), or other removable or fixedmedia drive. Storage media 1218 may include, for example, a hard disk,floppy disk, magnetic tape, optical disk, CD or DVD, or other fixed orremovable medium that is read by and written to by media drive 1212. Asthese examples illustrate, the storage media 1218 may include acomputer-readable storage medium having stored therein particularcomputer software or data.

In alternative embodiments, information storage mechanism 1210 mayinclude other similar instrumentalities for allowing computer programsor other instructions or data to be loaded into computing system 1200.Such instrumentalities may include, for example, a removable storageunit 1222 and an interface 1220, such as a program cartridge andcartridge interface, a removable memory (for example, a flash memory orother removable memory module) and memory slot, and other removablestorage units 1222 and interfaces 1220 that allow software and data tobe transferred from the removable storage unit 1222 to computing system1200.

Computing system 1200 can also include a communications interface 1224.Communications interface 1224 can be used to allow software and data tobe transferred between computing system 1200 and external devices.Examples of communications interface 1224 can include a modem, a networkinterface (such as an Ethernet or other NIC card), a communications port(such as for example, a USB port), a PCMCIA slot and card, etc. Softwareand data transferred via communications interface 1224. Some examples ofa channel include a phone line, a cellular phone link, an RF link, anetwork interface, a local or wide area network, and othercommunications channels.

In this document, the terms “computer program product” and“computer-readable storage medium” may be used generally to refer tomedia such as, for example, memory 1208, storage media 1218, orremovable storage unit 1222. These and other forms of computer-readablemedia may be involved in providing one or more sequences of one or moreinstructions to processor 1204 for execution. Such instructions,generally referred to as “computer program code” (which may be groupedin the form of computer programs or other groupings), when executed,enable the computing system 1200 to perform features or functions ofembodiments of the current technology.

In an embodiment where the elements are implemented using software, thesoftware may be stored in a computer-readable medium and loaded intocomputing system 1200 using, for example, removable storage drive 1222,media drive 1212 or communications interface 1224. The control logic (inthis example, software instructions or computer program code), whenexecuted by the processor 1204, causes the processor 1204 to perform thefunctions of the technology as described herein.

It will be appreciated that, for clarity purposes, the above descriptionhas described embodiments with reference to different functional unitsand processors. However, it will be apparent that any suitabledistribution of functionality between different functional units,processors, or domains may be used. For example, functionalityillustrated to be performed by separate processors or controllers may beperformed by the same processor or controller. Hence, references tospecific functional units are only to be seen as references to suitablemeans for providing the described functionality, rather than indicativeof a strict logical or physical structure or organization.

Furthermore, although individually listed, a plurality of means,elements, or method steps may be implemented by, for example, a singleunit or processor. Additionally, although individual features may beincluded in different claims, these may possibly be advantageouslycombined, and the inclusion in different claims does not imply that acombination of features is not feasible or advantageous. Also, theinclusion of a feature in one category of claims does not imply alimitation to this category, but rather the feature may be equallyapplicable to other claim categories, as appropriate.

Although a feature may appear to be described in connection with aparticular embodiment, one skilled in the art would recognize thatvarious features of the described embodiments may be combined. Moreover,aspects described in connection with an embodiment may stand alone.

APPENDIX A Unconstrained Minimization Methods Let:

-   -   R^(n) be n-dimensional Euclidean space, x=(x₁, x₂, . . . ,        x_(n))^(T)εR^(n), where vectors are columns and the symbol^(T)        denotes transpose;    -   ∥x∥=√{square root over (x₁ ²+x₂ ²+ . . . +x_(n) ²)} be an        Euclidean norm of the vector x=(x₁, x₂, . . . ,        x_(n))^(T)εR^(n);    -   x, y        =x y=y^(T) x be the scalar product of two vectors;

$\frac{\partial{f(x)}}{\partial x}$

-   -   be the vector of first partial derivatives of the continuously        differentiable function ƒ(x), or the gradient vector;

$\frac{\partial^{2}{f(x)}}{\partial x^{2}}$

-   -   be the matrix of second partial derivatives of the twice        continuously differentiable function ƒ(x), or the Hesse matrix;    -   R^(n×n) be the space of square n×n matrices;    -   I be the identity matrix.        The sequence {x^((k))}, k=0,1, . . . , starting with initial        approximation x⁽⁰⁾, generated by the following equation

$\begin{matrix}{x^{(k)} = {x^{({k - 1})} - {\lambda^{(k)}B^{(k)}\frac{\partial{f( x^{({k - 1})} )}}{\partial x}}}} & ({A1})\end{matrix}$

which satisfies the minimization property

ƒ(x ^((k)))<ƒ(x ^((k-1)))< . . . <ƒ(x ⁽⁰⁾)  (A2)

if the matrix B^((k))εR^(n×n) is positive definite and the step lengthλ^((k)) is specially chosen. Methods for calculation of the step lengthare described, for example, in P. E. Gill, W. Murray, M. H. Wright(1980), Practical Optimization, Academic Press, 1981 pp. 100-102, whichis incorporated herein by reference. Robust and practically provenmethods include calculating the first number in the sequence

$\{ {\lambda_{i} = \frac{1}{2^{i}}} \},{i = 0},1,2,$

. . . , satisfying the inequality

$\begin{matrix}{{{{f( {x^{({k - 1})} - {\lambda_{i}p^{(k)}}} )} - {f( x^{({k - 1})} )}} < {\mu \; \lambda_{i}{\langle{p^{(k)},\frac{\partial{f( x^{({k - 1})} )}}{\partial x}}\rangle}}},{where}} & ({A3}) \\{{p^{(k)} = {{- B^{(k)}}\frac{\partial{f( x^{({k - 1})} )}}{\partial x}}},} & ({A4})\end{matrix}$

is the search (or descent) direction vector, and μ is an arbitrarynumber in the range 0<μ≦0.5. In one example, the value μ=0.01 may beused.The sequence {x^((k))} generated according to the expression (A1)minimizes the function ƒ(x) as shown in inequalities (A2). Thus, theequation (A1) recursively generates the minimizing sequence for anypositively definite matrices chosen. The convergence properties of thesequence depend on the choice of the positive definite matrix B^((k)).The following are methods that may be used to select the positivedefinite matrix B^((k)) and calculate the equation (A1):

-   -   1) If B^((k))=I, the equation (A1) may be calculated using the        gradient or steepest descent method. The method is known to be        linearly convergent.    -   2) If

${B^{(k)} = ( \frac{\partial^{2}{f( x^{k} )}}{\partial x^{2}} )^{- 1}},$

the equation (A1) maybe calculated using the Newton method. The methodis quadratic convergent in the neighborhood of the local minimum pointwhere the Hesse matrix is positive definite.

-   -   3) The iteratively calculated matrices B^((k)) may be updated        according to the Broyden-Fletcher-Goldfarb-Shanno (BFGS) or        Davidon-Fletcher-Powell (DFP) schemes as described, for example,        in P. E. Gill, W. Murray, M. H. Wright (1980), Practical        Optimization, Academic Press, 1981, pp. 116-127, which is        incorported herein by reference. The BFGS and DFP schemes form        the Quasi-Newton family of methods which are known to be        super-linearly convergent. These methods are practically as fast        as Newton methods, but do not demand calculation of the Hesse        matrix. In applications where the Hesse matrix is easily        calculated, like in the present application, Newton methods are        preferable.

APPENDIX B Sum of Squares Minimization Methods

Let us consider a particular case of the function ƒ(x) subject tominimization. Let the function ƒ(x) be the sum of squares of m functionsφ_(i)(x):

$\begin{matrix}{{f(x)} = {\frac{1}{2}{\sum\limits_{i = 1}^{m}\lbrack {\phi_{i}(x)} \rbrack^{2}}}} & ({A5})\end{matrix}$

Solution of the redundant (if m≧n) set of nonlinear equations

$\begin{matrix}\begin{matrix}{{{\phi_{1}(x)} = 0},} \\{{{\phi_{2}(x)} = 0},} \\\ldots \\{{{\phi_{m}(x)} = 0},}\end{matrix} & ({A6})\end{matrix}$

is often reduced to the minimization problem

ƒ(x)→min  (A7)

Any of the methods 1)-3) described above can be applied to the problem(A7). To apply the Newton method, the expressions for the gradientvector and Hesse matrix are needed. The following equations express themthrough gradients and Hesse matrices of the functions φ_(i)(x):

$\begin{matrix}{{\frac{\partial{f(x)}}{\partial x} = {\sum\limits_{i = 1}^{m}{{\phi_{i}(x)}\frac{\partial{\phi_{i}(x)}}{\partial x}}}},} & ({A8}) \\{\frac{\partial^{2}{f(x)}}{\partial x^{2}} = {{\sum\limits_{i = 1}^{m}{\frac{\partial{\phi_{i}(x)}}{\partial x}\lbrack \frac{\partial{\phi_{i}(x)}}{\partial x} \rbrack}^{T}} + {\sum\limits_{i = 1}^{m}{{\phi_{i}(x)}\frac{\partial^{2}{\phi_{i}(x)}}{\partial x^{2}}}}}} & ({A9})\end{matrix}$

If the system (A6) is feasible, the values φ_(i)(x) vanish as theminimizing sequence {x^((k))} converges to the solution. Even if thesystem (A6) is ‘almost’ feasible, the values φ_(i)(x) can be neglectedin the expression for the Hesse matrix (A9). We arrive at theformulation of the fourth method:

-   -   4) If

${B^{(k)} = {\sum\limits_{i = 1}^{m}{\frac{\partial{\phi_{i}(x)}}{\partial x}\lbrack \frac{\partial{\phi_{i}(x)}}{\partial x} \rbrack}^{T}}},$

the equation (A1) maybe calculated using the Gauss-Newton method, forexample, as described in P. E. Gill, W. Murray, M. H. Wright (1980),Practical Optimization, Academic Press, 1981, pp. 134-136, which isincorporated herein by reference.

APPENDIX C

Let the cone C_(i) in three dimensional space be defined by its apexa_(i)εR³, central axis hεR³, common for all m cones, and the angle δbetween the axis and the generating line. The vector h is a unit vectoraligned with the gravity vector. The equation of the cone C_(i) takesthe form:

$\begin{matrix}{\frac{\langle{h,{x - a_{i}}}\rangle}{{h}{{x - a_{i}}}} = {\cos \; {\delta.}}} & ({A10})\end{matrix}$

Let us denote α=cos δ. Then taking into account that the vector h is aunit vector, we arrive at the following equation

h,x−a _(i)

−α∥x−a _(i)∥=0  (A11)

The point xεR³ belongs to the surface of the cone C_(i) if and only ifit satisfies the equation (A11). The problem of determining theintersection of cones is reduced to the solution of the problem (A6)with φ_(i)(x)=

h, x−a_(i)

−α∥x−a_(i)∥. The problem is then reduced to the problems (A5) and (A7),which in turn, can be solved by any of the methods 1)-4) describedabove. To apply, for example, the Newton method, we need to calculatethe gradient and Hesse matrix (A8) and (A9), respectively. To completethe description, we derive expressions for

$\frac{\partial{\phi_{i}(x)}}{\partial x}\mspace{14mu} {and}$$\frac{\partial^{2}{\phi_{i}(x)}}{\partial x^{2}}$

needed for calculations (A8) and (A9):

${\frac{\partial{\phi_{i}(x)}}{\partial x} = {h - {\frac{\alpha_{i}}{{x - a_{i}}}( {x - a_{i}} )}}},{\frac{\partial^{2}{\phi_{i}(x)}}{\partial x^{2}} = {\frac{\alpha_{i}}{{x - a_{i}}}{( {{\frac{1}{{{x - a_{i}}}^{2}}( {x - a_{i}} )( {x - a_{i}} )^{T}} - I} ).}}}$

1-21. (canceled)
 22. A computer-implemented method for determining aposition of a point of interest by a handheld device, thecomputer-implemented method comprising: receiving image data from atleast one image sensor; receiving orientation data from at least oneorientation sensor; causing a display, on the device, of arepresentation of the image data and the orientation data to assist auser in positioning the device; receiving position data, by a GNSSantenna, from a plurality of satellites; receiving positioningassistance data, by at least one communication antenna, from a referencestation; determining a GNSS antenna height estimation based on the imagedata; determining an alignment error associated with the handheld deviceand the point of interest based on the image data; and determining aposition of the point of interest based at least on the position data,the positioning assistance data, the orientation data, the antennaheight estimation, and the alignment error.
 23. The computer-implementedmethod of claim 22, wherein the GNSS antenna height estimation isdetermined based on analyzing pixels of the image data.
 24. Thecomputer-implemented method of claim 22, wherein the alignment error isdetermined based on analyzing pixels of the image data.
 25. Thecomputer-implemented method of claim 22, wherein the positioningassistance data includes raw position data of the base station forcomparing with the position data received by the GNSS antenna todetermine the position of the point of interest.
 26. Thecomputer-implemented method of claim 22, wherein the positioningassistance data includes correction data for compensating for errors inthe position data in determining the position of the point of interest.27. A non-transitory computer-readable medium encoded with executableinstructions for determining a position of a point of interest by ahandheld device, the instructions comprising instructions for: receivingimage data from at least one image sensor; receiving orientation datafrom at least one orientation sensor; causing a display, on the device,of a representation of the image data and the orientation data to assista user in positioning the device; receiving position data, by a GNSSantenna, from a plurality of satellites; receiving positioningassistance data, by at least one communication antenna, from a referencestation; determining a GNSS antenna height estimation based on the imagedata; determining an alignment error associated with the handheld deviceand the point of interest based on the image data; and determining aposition of the point of interest based at least on the position data,the positioning assistance data, the orientation data, the antennaheight estimation, and the alignment error.
 28. The computer-readablemedium of claim 27, wherein the GNSS antenna height estimation isdetermined based on analyzing pixels of the image data.
 29. Thecomputer-readable medium of claim 27, wherein the alignment error isdetermined based on analyzing pixels of the image data.
 30. Thecomputer-readable medium of claim 27, wherein the positioning assistancedata includes raw position data of the base station for comparing withthe position data received by the GNSS antenna to determine the positionof the point of interest.
 31. The computer-readable medium of claim 27,wherein the positioning assistance data includes correction data forcompensating for errors in the position data in determining the positionof the point of interest.